import java.awt.Point;
import java.io.Serializable;

public class ConetorNorte implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -800557290408051000L;

	/**
	 * 
	 */

	private Point pontoNorte;

	private Retangulo retanguloEnvolvente;

	private Identificador identificador;

	private OpcaoConetor opcao;

	public ConetorNorte(Identificador identificador,
			Retangulo retanguloEnvolvente) {
	
		this.retanguloEnvolvente = retanguloEnvolvente;
		this.identificador = identificador;

		construirPonto();
	}

	public Retangulo getRetanguloEnvolvente() {
		return retanguloEnvolvente;
	}

	public void setRetanguloEnvolvente(Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;
		construirPonto();
	}

	public Identificador getIdentificador() {
		return identificador;
	}

	public void setIdentificador(Identificador identificador) {
		this.identificador = identificador;
	}

	public void construirPonto() {
		this.pontoNorte = new Point();
		this.pontoNorte.setLocation(this.retanguloEnvolvente.getPontoSuperiorEsquerdo().getX()
				+ this.retanguloEnvolvente.getTamanho().getAltura() / 2
				- 10 / 2, this.retanguloEnvolvente
				.getPontoSuperiorEsquerdo().getY());

	}

	public boolean contem(Coordenada coordenada) {
		return (coordenada.getX() == pontoNorte.getX() && coordenada.getY() == pontoNorte
				.getY());
	}

	public Point pontoConetor(Coordenada coordenada) {
		if (coordenada.getX() >= pontoNorte.getX()
				&& coordenada.getY() <= pontoNorte.getY()) {
			System.out.println("Devolvo Norte");
			return pontoNorte;
		}
		return null;
	}


	public Point getPontoNorte() {
		return pontoNorte;
	}

}